System and method for presenting targeted content

ABSTRACT

A method and system for presenting targeted content to users over the internet is provided. The method includes enabling a user to sign into a website. An identifier is generated for the user, if the user is signing into the website for the first time. Information corresponding to the user is mined and the information is linked to the user. Further, verification is made to determine whether the generated identifier matches with existing identifiers. If the generated identifier matches with an existing identifier, then existing information corresponding to the matched identifier is linked to the user. Targeted content is presented to the user by processing at least the information linked to the user.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation application under 35 U.S.C. §120 ofU.S. Non-provisional patent application Ser. No. 13/089,772, filed onApr. 19, 2011 and claiming the benefit under 35 U.S.C. §119(e) of U.S.Provisional Application No. 61/400,663, filed on Aug. 2, 2010, theentire disclosures of both aforesaid prior applications beingincorporated herein by reference.

BACKGROUND

1. Field

Embodiments relate generally to the field of presenting targeted contentto users of a website and, more particularly but not exclusively, topresenting targeted content to the users based on information aggregatedfrom one or more online social networking platforms.

2. Discussion of Related Field

It is a well-known fact that penetration of internet has increasedsubstantially, and continues to increase. With increased penetration ofthe internet, users have started using internet for a gamut of reasons.Internet is being used for conducting research that helps in takingdecisions, expressing views and opinions, and buying products andservices, among other reasons.

A large number of web portals enable users to buy goods and servicesonline. Some web portals allow users to only search or browse theirinventory online and facilitate buying of goods and services availablein their inventory. On the other hand, some web portals present targetedcontent, such as advertisements, recommendations or suggestions to auser on what goods or services the user may wish to buy.

One of the commonly adopted methodologies for presenting targetedcontent is collaborative filtering. Collaborative filtering is used withmachine learning algorithms to present targeted content to users of theweb portal. Amazon is one such web portal that appears to usecollaborative filtering to group users who have carried out similaractions, and provides recommendations thereafter. It has been oftenobserved that, sometimes, unrelated recommendations are presented to theuser, when recommendations are provided based on the group a userpertains to, which has been algorithmically determined by adoptingcollaborative filtering algorithm. Additionally, the instant approachmay not be ideal when a user is using the web portal for purchasinggifts for other persons. While purchasing gifts, the preference of theperson receiving the gift is of importance. However, the instantapproach does not appear to be designed to consider the preference ofthe person who will be receiving the gift into consideration forproviding recommendations to the user purchasing the gifts.

Another approach for presenting targeted content to the user is by usinginformation gathered from an online social networking platform, whichthe user might be using. A website, www.goodreads.com, is one suchexample that appears to recommend books to its users based on theinformation corresponding to the user that is gathered from an onlinesocial networking platform (www.facebook.com), which the user might beusing. In the instant approach, the user is allowed to log into the webportal using his online social networking authentication credentials.After the user provides his online social networking authenticationcredentials, the user is asked to provide access to information that maybe used to give recommendations. Once the user grants rights to accessthe information, the information is used to provide recommendation tothe user. It shall be noted that, in the instant approach, informationcorresponding to the user is gathered from only one social networkingplatform, which the user is using. However, it has been observed thatgenerally a single user socializes by using more than one online socialnetworking platform. For instance, a user may use LinkedIn Network tosocialize and increase acquaintances within his professional work. Thesame user may also use Facebook to interact and stay in touch with hisfriends. Additionally, the user may be using location based socialnetworking platforms, such as, Foursquare to meet his friends at a givenlocation. The interactions in each of these social networks are isolatedfrom each other and there are no clear ways to aggregate theinteractions of a user across social networks and share the informationto applications, which can leverage this information to enhance therelevance of targeted content presented to the user.

In light of the foregoing discussion, there is a need for a technique toimprove relevancy of the targeted content presented to users. Further,the technique shall enable aggregation of information corresponding tousers across online social networking platforms. Furthermore, thetechnique shall enable sharing of the aggregated information toapplications that can leverage the information to enhance the relevanceof the targeted content presented to the user.

SUMMARY

In one aspect, a method for presenting targeted content to users overthe internet is provided. The method includes enabling a user to signinto a website. An identifier is generated for the user, if the user issigning into the website for the first time. Information correspondingto the user is mined and the information is linked to the user. Further,verification is made to determine whether the generated identifiermatches with existing identifiers. If the generated identifier matcheswith an existing identifier, then existing information corresponding tothe matched identifier is linked to the user. Targeted content ispresented to the user by processing at least the information linked tothe user.

In another aspect, a method for presenting, to a user, recommendation ofgifts for the user's one or more friends over the internet is provided.The method includes, authenticating the user through an online socialnetworking platform and receiving selection from the user, wherein theselection comprises at least one friends of the user, present in theonline social networking platform. Thereafter, information correspondingto the friend is mined from the online social networking platform.Recommending corresponding to gifts for the friend is presented based onprocessing of at least the mined information.

In yet another aspect, a system for presenting targeted content to usersover the internet is provided. The system includes an authenticationmodule, a data aggregation module, an identifier generation module, adatabase and a targeted content selection module. The authenticationmodule is configured to enable a user to sign into a website. The dataaggregation module is configured to mine information corresponding tothe user. The identifier generation module is configured to generate anidentifier for the user, if the user is signing into the website for thefirst time, and verify whether the generated identifier matches withexisting identifiers. The database is configured to store minedinformation corresponding to the user, and link existing informationcorresponding to the matched identifier to the user, if the generatedidentifier matches with an existing identifier. The targeted contentselection module is configured to present targeted content to the userby processing at least the information linked to the user.

BRIEF DESCRIPTION OF DRAWINGS

Embodiments are illustrated by way of example and not limitation in theFigures of the accompanying drawings, in which like references indicatesimilar elements and in which:

FIG. 1 is a block diagram illustrating a system 100 for presentingtargeted content to users, in accordance with an embodiment;

FIG. 2 is a flow chart illustrating a method for generating identifierfor a user, in accordance with an embodiment;

FIG. 3 is a flow chart illustrating a method for generating identifierswhen a user creates an account using an online social networkingplatform, in accordance with an embodiment;

FIG. 4 is a flow chart illustrating a method for determining whether anidentifier has already been created for a user whenever a new identifierhas to be created, in accordance with an embodiment; and

FIG. 5 is a flow chart illustrating a method for recommending gifts,which a user may wish to purchase for his friends, in accordance with anembodiment.

DETAILED DESCRIPTION

The following detailed description includes references to theaccompanying drawings, which form a part of the detailed description.The drawings show illustrations in accordance with example embodiments.These example embodiments, which are also referred to herein as“examples,” are described in enough detail to enable those skilled inthe art to practice the present subject matter. The embodiments can becombined, other embodiments can be utilized, or structural, logical, andelectrical changes can be made without departing from the scope of whatis claimed. The following detailed description is, therefore, not to betaken in a limiting sense, and the scope is defined by the appendedclaims and their equivalents.

In this document, the terms “a” or “an” are used, as is common in patentdocuments, to include one or more than one. In this document, the term“or” is used to refer to a nonexclusive “or” such that “A or B” includes“A but not B,” “B but not A,” and “A and B,” unless otherwise indicated.Furthermore, all publications, patents, and patent documents referred toin this document are incorporated by reference herein in their entirety,as though individually incorporated by reference. In the event ofinconsistent usages between this document and those documents soincorporated by reference, the usage in the incorporated reference(s)should be considered supplementary to that of this document; forirreconcilable inconsistencies, the usage in this document controls.

FIG. 1 is a block diagram illustrating a system 100 for presentingtargeted content to users, in accordance with an embodiment. System 100may enable presenting targeted content, over the internet. The targetedcontent presented to the users, for example, can be, presentingrecommendations corresponding to goods and services, which the users maywish to, buy or gift. Examples of goods and services can include, butare not limited to, gifts, books, concerts, restaurants, musicalcompositions, spa treatments, gadgets, clothing, pet accessories,jewelry and cosmetics. The targeted content presented to users, forexample, may include, but not limited to, advertisements, links to webpages and customized layout of the website the user is visiting.

A user may use his user terminal 110 to access a website in which thetargeted content is displayed to the user. The user terminal 110 can be,for example, a desktop computer, a laptop, a communication device, apersonal digital assistant or a programmable consumer electronicsdevice. The website, for example, can be an ecommerce website thatenables online buying of goods and services. Alternatively, the websitecan be a blog or a corporate website. On the other hand, the website canbe a platform that allows, for example, viewing of videos (Ex: YouTube),presentations (Ex: Slideshare), documents (Ex: Scribd) or lyrics (Ex:www.lyrics.com).

System 100 includes an authentication module 102, a data aggregationmodule 104, a database 106, an identifier generation module 107 and atargeted content selection module 108. The system 100 is configured tocommunicate with user terminals (Ex: User terminal 110) over acommunication network 116. In FIG. 1, only one user terminal 110 isillustrated to simplify understanding of the embodiment. The system 100is also configured to communicate over the communication network 116,with one or more social networking platforms. In FIG. 1 a first socialnetworking platform 112 and a second social networking platform 114 areillustrated.

System 100 may be coupled with one or more websites in which visitors(users) to the websites are presented with targeted content. Theauthentication module 102 may be configured to enable users of a websiteto sign-in to the website, either by allowing the users to create anaccount in the website or by allowing signing-in using an online socialnetworking platform (Ex: First social networking platform 112 or secondsocial networking platform 114). If a user signs-in using the onlinefirst social networking platform 112, then the data aggregation module104, which is configured to mine data corresponding to the user from thefirst social networking platform 112, extracts the data from the firstsocial networking platform 112 after receiving permission from the userfor such data mining. At least a part of the mined data is communicatedto the identifier generation module 107. The identifier generationmodule 107 is configured to generate identifiers, using the mined data,for the user and the user's contacts present in the first socialnetworking platform 112. Thereafter, the generated identifiers and themined data are communicated to the database 106. The database 106 isconfigured to receive data from the data aggregation module 104 and thegenerated identifiers, and store the same for retrieval when desired. Itshall be noted that the identifiers and the corresponding data arelinked. Additionally, the relationship between the identifiers createdfor various users (and their friends) may also be created and stored.The targeted content selection module 108 is configured to query thedatabase 106 and process the data provided by the database 106 to selectcontent that can be presented to the user.

As highlighted in the foregoing discussion, the identifier generationmodule 107 is configured to generate identifiers using the informationprovided by or information mined using permission granted by thevisitor. FIG. 2 is a flow chart illustrating a method for generatingidentifier for a user, in accordance with an embodiment. In thisembodiment, an identifier is generated for a user who creates an accountin the website. At step 202, the website is displayed in the web browserof the user terminal 110. If the user does not have an account in thewebsite, then he may create an account using an account creation webpage present in the website or by using an online social networkingplatform. In this embodiment, the user attempts to create an accountusing the account creation page. The account creation page may requestthe user to provide information that is required to create an account.For example, the information requested may include, first name, lastname, date of birth, location and email address. At step 204, theinformation required to create the account is received from the user.Thereafter, at least a part of the information that is required togenerate an identifier for the user is communicated to the identifiergeneration module 107, at step 206. The identifier, for example, may begenerated using information fields, such as, first name, last name, dateof birth, email address and location. It shall be noted that, from theinstant example, one of more information field may be added or removedto generate identifiers.

In the foregoing embodiment, the identifier was created usinginformation provided by the user while creating an account using theaccount creation page of the website. In another embodiment, identifierfor a user may be generated when the user creates an account using asocial networking platform. FIG. 3 is a flow chart illustrating a methodfor generating identifiers when a user creates an account using anonline social networking platform, in accordance with an embodiment. Asmentioned earlier, a user can create an account in the website using thewebsite's account creation page or by using an online social networkingplatform (Ex: Facebook). If the user chooses to create an account usingthe online social networking platform, then at step 302, authenticationwebpage of the social networking platform is displayed. The userprovides the authentications credentials, and upon successfulauthentication, a web page seeking permission to access datacorresponding to the user, from the social networking platform isdisplayed at step 304. The information sought to be accessed, forexample, may include, user's name, date of birth, location, emailaddress, likes, dislikes, groups, interests and feeds. Additionally,permission may be sought to access user's friends' name, date of birth,location, email address, likes, dislikes, groups, interests and feeds.If the user does not grant access, then information is not accessed. Onthe other hand, if the user grants access, then at step 310, data isextracted by the data aggregation module 104. At least a part of theuser's data, such as user's name, date of birth, location and sex, isused to generate identifier for the user at step 312 by the identifiergeneration module 107. Further, if the website configured in such a waythat generation of identifier for each of user's friends is desired,then at step 318, identifier for each of user's friends is generatedusing information that is accessible to the data aggregation module 104.

It may be noted that, as aforementioned, data aggregated from one ormore social networking platforms is used by the system 100 to presenttargeted content to the user. Hence, when a user creates an account inthe website using the website's account creation page, the system 100may have to identify whether data, extracted from a social networkingplatform, corresponding to the user is already present in the database106, and use the same to present targeted content. For example, User 1may create an account in the website using a social networking platform(Ex: Facebook), and provide access to data corresponding to User 2, whois in User 1's online social network. After gaining access to User 2'sdata, the system may generate an identifier for user 2, extract datacorresponding to User 2 and store the data corresponding to User 2 inthe database 106. In a scenario, wherein User 2 creates an account inthe website using the account creation page of the website, the systemmay generate an identifier for User 2. Thereafter, the system may verifywhether information, aggregated from a social networking platform,corresponding to User 2 is available in the database, and use the sameto present targeted content, if information is available.

In another scenario, when the system 100 gets access to datacorresponding to a user from more than one social networking platform,the system 100 may have to correlate the data from the social networkingplatforms to a single user. For example, system 100 may be coupled withtwo websites, Website 1 and Website 2, which allows users to createaccounts in their websites using a first social networking platform anda second social networking platform, respectively. A user, for example,User 1 may create an account using the first social networking platformin website 1. The system 100 creates an identifier for User 1, when User1 creates an account using the first social networking platform inwebsite 1. Additionally, User 1 may create an account using the secondsocial networking platform in website 2. System 100 creates anidentifier for User 1 upon creation of the account in website 2.Thereafter, the system 100 may compare the identifier generated andidentify that the identifier are generated for a unique person.Thereafter, the system 100 aggregates the information, corresponding toUser 1, extracted from both the social networking platforms, and use theinformation to present targeted content to User 1.

In light of the foregoing discussion, it may be noted that the system100 may be configured to determine whether an identifier has alreadybeen created for a user whenever the system 100 generates a newidentifier. FIG. 4 is a flow chart illustrating a method for determiningwhether an identifier has already been created for a user whenever a newidentifier has to be created, in accordance with an embodiment. At step402, the user provides information that is required to create an accountin the website. The information may be provided using an accountcreation page in the website or by using a social networking platform.Thereafter, at step 404, system 100 generates an identifier using theinformation received by the user. The generated identifier is comparedwith the existing identifiers at step 406. It shall be noted that, therecan be various scenarios, wherein an identifier for the user has alreadybeen created. For example, the instant user's online social networkingfriend might have created an account using the social networkingplatform. During creation of the account, system 100 might have accessedinformation corresponding to the instant user, and created an identifierfor the instant user. In another example, the instant user might havecreated an account in a first website, which is coupled to the system100, using a first social networking platform. Thereafter, the instantuser might be in the process of creating an account in a second website,which is coupled to the system 100, using a second social networkingplatform. In this scenario as well, the system might have created anidentifier for the instant user when he created an account in the firstwebsite. Hence, by comparing the newly generated identifier with theexisting identifier, the system 100 can identify unique users, and alsoaggregate information gathered from multiple social networking platformsto increase the relevancy of the targeted content presented to the user.

It shall be noted that, there can be various scenarios, wherein thenewly generated identifier and the existing identifiers do not matchcompletely. At step 410, the system checks whether there is a partialmatch between the newly generated identifier and the existingidentifiers. If there is a partial match, then at step 412, the system100 checks if the partial match is satisfactory to conclude that anidentifier for the instant user already exists. If the partial match issatisfactory, then the system correlates existing informationcorresponding to the instant user with the newly discovered informationto present targeted content to the instant user. However, if the matchis not satisfactory, then the system may conclude that a new unique userhas been identified.

In an embodiment, system 100 may be coupled to an ecommerce website thatenables purchasing of entities over the internet. The user accesses theecommerce website using a web browser provided in the user terminal 110.In an embodiment, the user is asked to authenticate himself. The usermay authenticate himself by communicating his authenticationcredentials, such as, user identification and password to theauthentication module 102. Alternatively, the user may authenticatehimself using his authentication credentials for a online socialnetworking platform, such as Facebook. To authenticate himself using thewebsite online social networking platform, the user can click on thesign-in button of the social networking platform and provide therequired authentication credentials in the sign-in web page of thesocial networking platform. The sign-in button of the social networkingplatform can be provided in the ecommerce website. In an embodiment, theauthentication module 102 can be configured to seek additionallypermission from the user. For example, when the user successfullyauthenticates himself by using the social networking platform, the useris requested to grant explicit permission to extract informationcorresponding to him. Further, permission may be sought to extractinformation corresponding to the user's friends. Furthermore, permissionmay be sought to carry out certain actions in the social networkingplatform, on behalf of the user.

If the user grants permission to the extract the requested information,then the data aggregation module 104 extract the information. The dataaggregation module 104 may be configured to extract data to which thepermission has been granted by the user.

In an embodiment, the data aggregation module 104 may extract, from thesocial networking platform, data corresponding to, user identification,date of birth, location of the user, email address, likes and dislikes.Additionally, the data aggregation module 104 may extract datacorresponding to friends, such as, friends' name, date of birth,location, likes and dislikes.

In an embodiment, information to be stored in the database 106 mayappear as:

[user] [[userid]: 1234 [username]: Jagdish Nomula [dob]: 01/01/1976[location]: San Jose [friends] [friend ] [[friendid]: 1324 [username]:Todd Johnson [dob]:01/02/1974 [location]: San Francisco [hobbies]:Hiking, Tennis [likes]: Britney Spears, Barak Obama [feed]: The nexttime Steve pulls out a new iPhone, you can be sure where everyone's eyeswill be .... ] .... ]]

For the above example, in an embodiment, a hash function may be used,which maps username, date of birth and location to a Byte Array. Aperson skilled in art would know that this functionality could bereplaced with other implementations. This function could be a one-wayhash function, to ensure that privacy of users is not compromised.

The identifier generation module 107 may be configured to generate anidentifier for the user. The identifier may be generated using name ofthe user, date of birth and location of the user, which are extractedfrom the social networking platform.

In an embodiment, the identifier may be generated using the name of theuser and the user's date of birth.

In another embodiment, the identifier may be generated using the user IDand the user's date of birth.

In yet another embodiment, the identifier may be generated using theuser ID, user's date of birth, email address and location of the user.

The identifier generated and the extracted data is sent to the database106. The database 106 is configured to store the identifier and thecorresponding data. The database 106 is configured to be queried, atleast by the targeted content selection module 108. The database 106 maybe configured to enable retrieval of data from the database 106 by thetargeted content selection 108 for further processing to generaterecommendations of entities, which will be presented to the user. Itshall be noted that the information used for processing is mapped to thecontext in which targeted content is being presented to the user.

In an embodiment, system 100 may be configured to recommend gifts tousers, which the users may buy for his friend(s). FIG. 5 is a flow chartillustrating a method for recommending gifts, which a user may wish topurchase for his friends, in accordance with an embodiment. An ecommercewebsite may allow a user to purchase gifts for his friends. Such awebsite may be configured to present recommendations corresponding tothe gifts the user's friend or friends may like. In order to purchasegifts, the user accesses the website using a web browser. The websitemay allow the user to purchase gifts or present recommendations afterthe user successfully authenticates himself. At step 502, the userauthenticates himself using a social networking platform. A link to theauthentication page of the social networking platform may be provided inthe ecommerce website. After successful authentication, the user selectsone or more friends who are in his friend network in the online socialnetworking platform, for whom the user wishes to purchase gifts. To makeunderstanding convenient, we may assume that the user selects one friendfrom the social networking platform. The system 100 extracts informationcorresponding to the friend, and processes the information at step 506.Thereafter, based on the processing, system 100 presents recommendationscorresponding to the gifts the user's friend may like. In one embodimentof extracting application related information, a naive Bayes classifieris used to classify a person as a sports fanatic or tech savvy personand recommend him sports accessories or tech gadgets. In anotherembodiment, collaborative filtering algorithm is used to recommend giftsto used based on gifting/personality related keywords in social feed.

In an embodiment, after the user selects a friend to whom he wishes topurchase gift(s), the system may generate an identifier for the friend.Thereafter, the system 100 may verify if the generated identifiermatches (completely or partially as described earlier) with existingidentifiers. If the generated identifier does not match with theexisting identifier, the system 100 may conclude that a new user hasbeen identified. The system 100 extracts information corresponding tothe friend from the social networking platform. The information isprocessed by system 100 to present recommendations corresponding to thegifts the user's friend may like.

Alternatively, if the generated identifier for the friend matches withan existing identifier, then the system may use informationcorresponding to the friend, which may already exist in system 100, andmay extract any new information corresponding to the friend from thesocial networking platform, to process and present recommendations. Itshall be noted that information, corresponding to the friend, which mayhave been extracted from other social networking platforms, may exist inthe system. In this scenario, system 100 will be able to providerecommendation based on information, corresponding to the friend, whichhas been aggregated from more than one online social networkingplatform.

As an example, the system 100 may be configured with two websites, onethat sells goods and services, and other that facilitates purchasinggifts for friends. If the friend (from the above embodiments) has usedto first website to purchase an iPhone, the system may have generated anidentifier for the friend and aggregated information about the friend,including the activity of purchasing of the iPhone. Thereafter, when theuser (from the above embodiments) signs-in to the second website topurchase gifts for his friend, the system 100 may generate an identifierfor the friend. Thereafter, the system 100 realizes that an identifierhas already been created for the friend. Subsequently, system 100 usesinformation corresponding to the friend, such as, purchase of theiPhone, to provide recommendation. For example, the gift recommendationsmay include accessories for iPhone, such as, iPhone cases, car chargerand iPhone screen protector, which the user's friend may like, thereby,increasing the relevancy of the recommendations presented.

In another example of recommending gifts, system 100 may have access toinformation corresponding to the user's friend from more than one socialnetworking platform, such as Foursquare, which may provide informationcorresponding to the friend's location, and another social networkingplatform, such as Facebook, which may provide information, such aslikes, dislikes and interests, corresponding to the friend's. The systemcan use the information, aggregated from both the social networkingplatforms, corresponding to the friend, to provide gift recommendationsto the user. For example, the system may identifies that the user'sfriend is in London from one of the social networking platforms, and mayalso identify that the friend likes wine tasting, from the second socialnetworking platform. In light of these identifications, the system mayinclude wine tasting sessions and offers among the recommendation ofgifts provided to the user, who may purchase the gift for his friend,thereby enhancing the relevancy of the recommendations presented.

In an embodiment, user friend's information (feed information) iscombined with recommendation algorithms, such as, collaborativealgorithm, which can be used in the friend feed as additional attributesin estimating the relevance of results that are shown to the user.

In one of the embodiments, a friend feed is analyzed for keywords in anapplication context, which is used to refine the neighbor-hood scoresgiven by collaborative filtering/information retrieval algorithms. Theimportant keywords themselves can be extracted from a data storecombined with category information in the feed from the friend. Forexample, if the feed includes “Music: Britney Spears concert is great”,then a music recommendation application would add Britney Spears as oneof the liked artists in Music Entities Category, by doing a data-storelookup for important string matches in the feed, combined with sentimentanalysis. In an embodiment, important strings in the feed are extractedusing token weights, TFIDF (term frequency inverted document frequency)scores across social feed by eliminating stop words approach in oneembodiment. The sentiment analysis can be done by a Bayes classifier inone embodiment. In another embodiment, a SVM (support vector machines)classifier is used to get sentiment information about a given entity. Itis to be noted that a person skilled in the art can come up withdifferent ways of analyzing feed. One embodiment for instance can justuse look up in the data store for the whole, skip the token weights anduse a decision tree for sentiment analysis.

A person skilled in art would know that social feeds that are derived inan application can be used across other applications as we are storingthe feeds and users info in a data store.

We also need to note that, we are aggregating information about theuser's friend as well, from the feed in the data store, which can beused later when we need to present targeted content to the friend whenthe friend visits a website that is coupled to system 100.

In another embodiment, all the recommendation services leveraging socialnetwork feeds can be hosted in a single domain, in which case, thewebsite can lookup cookie values and provide recommendations withoutasking the user to login into social network.

In an embodiment, when a user visits a food recommendation site, theuser is asked to log into location networking sites such aswww.twitter.com or www.foursquare.com or www.google.com/latitude toretrieve his and his network's information. The response from the feedscan then be used to aggregate the information for each user in theresponse from the location based social network, using identifierapproach. In this embodiment, we have information about his location aswell as the user's personal interests, which can be used, for example,to recommend “Indian restaurants” in “San Jose”. The system 100 canpredict that the user likes Indian restaurant, based on his analysis of,for example, Facebook profile, and location as San Jose, from one of thelocation based social networks.

In an embodiment, the system 100 may present a user with targetedcontent based on information extracted, corresponding to the user, frommore than one social networking platforms. This may be made possible bycoupling the system 100 with more than one website that enables creationof account using distinct social networking platforms.

It shall be noted that, with time, system 100 may have access to variouscategories of information corresponding to several users. Using thisinformation, the system may generate a graph of users and, goods andservice, which users may be interested in. This graph may be used by thesystem to process and present targeted content.

The processes described above and illustrated in the drawings is shownas a sequence of steps, this was done solely for the sake ofillustration. Accordingly, it is contemplated that some steps may beadded, some steps may be omitted, the order of the steps may bere-arranged, and/or some steps may be performed simultaneously.

The example embodiments described herein may be implemented in anoperating environment comprising software installed on a computer, inhardware, or in a combination of software and hardware.

Although embodiments have been described with reference to specificexample embodiments, it will be evident that various modifications andchanges may be made to these embodiments without departing from thebroader spirit and scope of the system and method described herein.Accordingly, the specification and drawings are to be regarded in anillustrative rather than a restrictive sense.

Many alterations and modifications of the present invention will nodoubt become apparent to a person of ordinary skill in the art afterhaving read the foregoing description. It is to be understood that thephraseology or terminology employed herein is for the purpose ofdescription and not of limitation. It is to be understood that thedescription above contains many specifications, these should not beconstrued as limiting the scope of the invention but as merely providingillustrations of some of the personally preferred embodiments of thisinvention. Thus the scope of the invention should be determined by theappended claims and their legal equivalents rather than by the examplesgiven.

What is claimed is:
 1. A method, performed by an aggregator computersystem, for providing an entity of content targeting a specific user toa first computer system operating a first website, the aggregatorcomputer system having access to a database storing, for each of aplurality of users, a respective user identifier used to identify therespective user and aggregated activity information of the respectiveuser, the method comprising steps of: receiving, from a computing deviceof a first user, a first set of identification information of the firstuser identifying the first user; generating, by the aggregator computersystem, a first user identifier using the received first set ofidentification information of the first user, and storing the generatedfirst user identifier in the database such that the first user becomesadded to the plurality of users of the database and the stored firstuser identifier becomes the respective user identifier used to identifythe first user; aggregating, by the aggregator computer system, activityinformation about the first user from each of a group of one or morewebsite computer systems each operating a respective website, to formthe aggregated activity information of the first user stored in thedatabase, the stored aggregated activity information of the first userincluding one or more sets of activity information of the first usereach indicating prior activities which the first user conducted on therespective website of one website computer system among the group of oneor more website computer systems; receiving, from the first computersystem, a second set of identification information of the first user,and matching, by the aggregator computer system, the received second setof identification information of the first user, with the stored firstuser identifier of the first user; generating an entity of contenttargeting the first user using the aggregated activity information ofthe first user stored in the database; and sending, to the firstcomputer system, the generated entity of content targeting the firstuser, for the first computer system to present the generated entity ofcontent by incorporating the generated entity of content into a contentpage of the first website displayable on a user terminal visiting thefirst website.
 2. The method of claim 1, wherein the aggregating ofactivity information of the first user from each of the group of one ormore website computer systems, comprises steps of: receiving, from therespective website computer system, a respective set of identificationinformation of the first user identifying the first user as well as arespective set of activity information of the first user indicatingprior activities which the first user conducted on the respectivewebsite of the respective website computer system; matching, by theaggregator computer system, the received respective set ofidentification information of the first user to the stored first useridentifier of the first user; and aggregating, by the aggregatorcomputer system, the received respective set of activity information ofthe first user, to the aggregated activity information of the first userstored in the database such that the aggregated activity information ofthe first user stored in the database includes the received respectiveset of activity information of the first user.
 3. The method of claim 2,wherein matching of the respective set of identification information ofthe first user received from one of the group of one or more websitecomputer systems, with the stored first user identifier of the firstuser, comprises steps of: generating a respective second user identifierfor the first user using the received respective set of identificationinformation of the first user; checking whether the respective seconduser identifier satisfactorily matches with the first user identifier ofthe first user stored in the database; and determining that the receivedrespective set of identification information of the first user matcheswith the stored first user identifier of the first user if the checkingoperation returns a positive result.
 4. The method of claim 1, whereinmatching of the second set of identification information of the firstuser received from the first computer system, with the stored first useridentifier of the first user, comprises steps of: generating a seconduser identifier for the first user using the received second set ofidentification information of the first user; checking whether thesecond user identifier satisfactorily matches with the first useridentifier of the first user stored in the database; and determiningthat the received second set of identification information of the firstuser matches with the stored first user identifier of the first user ifthe checking operation returns a positive result.
 5. The method of claim1, wherein the received first set of identification informationidentifying the first user includes a subset of the first name, the lastname, the date of birth, a location, and an email address of the firstuser.
 6. The method of claim 1, wherein the aggregated activityinformation of the first user stored in the database includesinformation about prior purchase-related activities of the first userwhich the first user conducted on the respective website of one of thegroup of one or more website computer systems.
 7. The method of claim 1,wherein collaborative filtering is employed in the generating of theentity of content targeting the first user, and the employedcollaborative filtering uses the aggregated activity information of thefirst user stored in the database to generate the entity of contenttargeting the first user.
 8. The method of claim 1, wherein thegenerated entity of content comprises an advertisement targeting thefirst user; and wherein the advertisement targeting the first user isgenerated by the aggregator computer system using the aggregatedactivity information of the first user stored in the database.
 9. Themethod of claim 1, wherein the first user is a friend in an onlinesocial network of a second user; wherein the second user operates a userterminal of the second user to visit the first website, and the visitingof the first website causes the user terminal of the second user todisplay the content page of the first website incorporating thegenerated entity of content targeting the first user; wherein thegenerated entity of content incorporated into the content page of thefirst website comprises one or more gift recommendations targeting thefirst user; and wherein the one or more gift recommendations targetingthe first user are generated using the aggregated activity informationof the first user stored in the database.
 10. The method of claim 1,wherein the entity of content targeting the first user is generatedusing a graph associating the first user with goods or services; andwherein the graph is generated using information of various categoriesfrom among the aggregated activity information of the first user storedin the database.
 11. The method of claim 1, wherein one website computersystem of the group of the one or more website computer systems,comprises a first social networking platform; wherein the aggregatedactivity information of the first user stored in the database comprisesa first set of social networking information of the first userindicating prior social networking activities which the first userconducted on the first social networking platform; and wherein theentity of content targeting the first user is generated using the firstset of social networking information of the first user.
 12. The methodof claim 11, wherein the first set of social networking information ofthe first user stored in the database includes one or more social feedsof the first user, and the generating of the entity of content targetingthe first user comprises steps of: identifying one or more keywords in apre-set category from the social feeds of the first user; identifyingpotential liking of the first user based on the identified key words inthe pre-set category using sentiment analysis; and generating the entityof the content targeting the first user using the identified potentialliking of the first user.
 13. The method of claim 1, wherein theaggregator computer system operates a second website; wherein theaggregator computer system is one of the group of one or more websitecomputer systems from which the stored aggregated activity informationof the first user is aggregated; and wherein the aggregated activityinformation of the first user includes a set of activity information ofthe first user aggregated from the aggregator computer system andindicating prior activities which the first user conducted on the secondwebsite of the aggregator computer system.
 14. The method of claim 1,wherein the first computer system is one of the group of one or morewebsite computer systems from which the aggregated activity informationof the first user is aggregated; and wherein the aggregated activityinformation of the first user includes a set of activity information ofthe first user aggregated from the first computer system and indicatingprior activities which the first user conducted on the first website ofthe first computer system.
 15. The method of claim 3, wherein thechecking of whether the respective second user identifier satisfactorilymatches with the first user identifier of the first user stored in thedatabase, comprises steps of: checking whether the respective seconduser identifier exactly matches with the stored first user identifier ofthe first user; returning a positive result if the respective seconduser identifier exactly matches with the stored first user identifier ofthe first user; if the respective second user identifier partiallymatches with the first user identifier of the first user stored in thedatabase, determining whether the partial match is satisfactory to linkthe respective second user identifier with the stored first useridentifier of the first user; and returning a positive result if thepartial match is determined to be satisfactory to link the respectivesecond user identifier with the stored first user identifier of thefirst user.
 16. The method of claim 1, wherein the first website of thefirst computer system comprises a social networking platform of thefirst computer system.
 17. A method, performed by a first computersystem operating a first website, for receiving an entity of contenttargeting a first user from an aggregator computer system, theaggregator computer system having access to a database storing, for eachof a plurality of users, a respective user identifier used to identifythe respective user and aggregated activity information of therespective user, the first user included in the plurality of users ofthe aggregator computer system, the stored aggregated activityinformation of the first user including one or more sets of activityinformation of the first user aggregated from a group of one or morewebsite computer systems each operating a respective website, each setof activity information of the aggregated activity information of thefirst user indicating prior activities which the first user conducted onthe respective website of one website computer system among the group ofone or more website computer systems, the method comprising steps of:sending, to the aggregator computer system, a first set ofidentification information identifying the first user, such that theaggregator computer system, upon receiving the first set ofidentification information, matches the first set of identificationinformation with the respective user identifier of the first user storedin the database and generate an entity of content targeting the firstuser using the respective aggregated activity information of the firstuser stored in the database; and receiving, from the aggregator computersystem, the generated entity of content targeting the first user, andincorporating the received entity of content into a content page of thefirst website displayable on a user terminal visiting the first website.18. The method of claim 17, wherein the first set of identificationinformation identifying the first user includes a subset of the firstname, the last name, the date of birth, a location, and an email addressof the first user.
 19. The method of claim 17, wherein the aggregatedactivity information of the first user stored in the database includesinformation about prior purchase-related activities of the first userwhich the first user conducted on the respective website of one of thegroup of one or more website computer systems.
 20. The method of claim17, wherein the received entity of content targeting the first usercomprises an advertisement targeting the first user; and wherein theadvertisement targeting the first user is generated using the aggregatedactivity information of the first user stored in the database.
 21. Themethod of claim 17, wherein the first user is a friend in an onlinesocial network of a second user; wherein the second user operates a userterminal of the second user to visit the first website, and the visitingof the first website causes the user terminal of the second user todisplay the content page of the first website incorporating thegenerated entity of content targeting the first user; wherein thegenerated entity of content incorporated into the content page of thefirst website comprises a set of one or more gift recommendations; andwherein the set of one or more gift recommendations targeting the firstuser is generated using the aggregated activity information of the firstuser stored in the database.
 22. The method of claim 17, wherein thefirst set of identification information identifying the first user isprovided using a one-way hash function to protect the privacy of thefirst user.